第七期:扩展 NAS 之下载与同步
NAS 的 Download Station 自带远程下载功能,能让你不在家时有效利用闲置的带宽资源,将 NAS 作为一台下载机器,日夜不停地往本地下载数据。下载数十 GB 的大文件时再也不用开着电脑挂机几天几夜了。
如果下载的是视频、音频资源,还能配合 Video Station、Audio Station 等套件一起使用,让体验更进一步。
这一章主要讲解如何让 NAS 实现远程下载、第三方网盘同步等功能,并提供一些第三方下载套件方案。
简单方案:增强 Download Station
Download Station 本身就是一个功能强大的下载工具,它支持磁力链接、迅雷链接、BT 种子等多种多样的下载协议,甚至还支持如今早已见不到的电驴链接、QQ 旋风链接。我们首选的方案就是为 Download Station 做一些简单增强,将短板补齐。
Download Station 网页版
如何在电脑端远程下载
首先聊聊如何把任务添加到 Download Station 中。第三章中已经简单提到了一些,如果还未安装需要先到套件中心安装 Download Station 套件。
方法一:通过网页端添加任务
最基础的方法当然是直接进入网页端手动添加任务,默认链接通常是这个格式:http://quickconnect.myds.me:5000/download/
。相比通过 5000 端口多了一个 /download/
,并且从这个入口进入时,只能使用该功能。
Download Station 登录入口
填写账号密码登录后,就能进入 Download Station 的网页端页面。然后点击 + 按钮,通过网址或 BT 种子文件添加下载任务即可。
通过网页版添加任务
这个方法不算复杂,不过需要手动添加任务。并且每次加任务都需要等网页加载,外网访问速度不佳时着实令人着急。
方法二:通过浏览器插件添加任务
Download Station 没有提供官方本地软件或插件,好在有开发者制作了能够添加远程下载任务的 Chrome 插件,并且体验很不错。
远程下载 Chrome 插件
我比较推荐的是这款名为 Synology Download Manager 的开源插件,从它的 GitHub 下载页可以看出一直都有更新,支持 Chrome 和 Firefox。
第二款插件是 Synology Download Station,最后更新日期是 2017 年,不过功能还是挺齐全的,有时会弹出开发者希望获得捐赠的推送。可以作为备选方案。
在初次使用时需要配置 NAS 的地址,插件的配置同样是输入域名或 IP 地址、用户名和密码,如果按下「测试连接并保存」按钮,如果提示「连接成功!」说明设置无误,能够正常下载了。
配置插件
通过 Chrome 插件添加任务的优势在于它可以自动识别链接,并在完成任务时弹出提示。这也是在电脑端远程下载的主要方式。
Chrome 插件能够识别浏览器中的 BT 种子链接(Magnet:? 开头)、迅雷链接(thunder:// 开头)以及电驴、快车、QQ 旋风等已经很少见的下载链接。
当你找到一个下载链接时,点击就会自动通过 NAS 进行下载,下载完毕后可以选择直接留存在 NAS 上。如果你愿意,也可以将它通过局域网快速转移到电脑上。
方法三:通过客户端添加任务
macOS 有一个名为 DSDownload 的第三方客户端,也可以实现类似的效果。
DSDownload
如何在手机端远程下载
同样的,你也可以在手机端给 Download Station 添加远程下载链接。
方法一:移动端 App 远程下载链接
之前提到了 Download Station 的官方手机端应用 DS Get。DS Get 的主要功能是添加下载链接和管理现有任务,Android 用户可以在各个应用市场下载,这里放一个小米应用市场的链接。
目前在 iOS 市场中由于版权问题已经下架。如果你在早期下载过,DS Get 仍然能够在「已购项目」中下载。如果你已经无法下到 DS Get,也有一款第三方 App 作为替代:Download Station (DS) Mobile,功能是类似的,它最后一次更新的年代也比较久远,不过好在依然可以使用,只用来远程下载绰绰有余。
方法二:移动端 Drive 远程下载 BT 种子
想通过手机端下载 BT 种子更复杂一些。需要用到「监视文件夹」的方法实现远程下载,先在网页端的 Download Station 的「设置 - 位置 - Torrent/NZB 监视文件夹」中启用。
然后用手机端使用 DS File 或 Drive 客户端,将 BT 种子文件放进这一目录。Download Station 就会自动下载其中的文件了。
方法三:利用快捷指令实现远程下载链接
iOS 用户还可以利用快捷指令完成实现添加下载任务等操作,利用快捷指令的分享菜单集成,可以很轻松地把任务添加到 Download Station。
Reddit 的 @Leprecon 通过快捷指令实现了 Download Station 的基本功能——新建、管理、搜索下载任务。原贴链接 🔗
使用方法也很简单,Download Station 快捷指令版有 3 种用法,支持 Torrent 磁力链接、HTTP 链接、YouTube 链接,具体用法如下。
- 分享链接,通过该快捷指令打开,就会将链接添加到 Download Station 的任务列表中开始下载。
- 复制快捷指令,运行该快捷指令,同样会添加到任务列表开始下载。
- 直接运行快捷指令,可以管理已有的任务,可以进行暂停、删除等操作。
ShortCuts 版
添加下载链接后,可能需要等一会儿才会开始下载。
- Download Station Search 快捷指令版 当你在 Download Station 的搜索引擎中添加源后,是可以直接通过 Download Station 的搜索框找到很多资源的。 Download Station Search 快捷指令版可以直接进行资源搜索——当然前提是有添加搜索引擎源(下面会讲到方法),不过只能显示前 10 条,并且搜索时间会比较慢。 补充:如果你是开发者,想自己开发一个 DS 第三方工具,或者想在现有工具的基础上做一些微调却没有门路,可以参考这份 《Download Station 官方 API 文档》。
Download Station 值得开启的功能
计划任务
Download Station 会占用你的网速,如果家中带宽吃紧,你可以设置某一时段不进行下载,在夜深人静或白天无人在家时继续下载。
- 进入 Download Station 设置界面 - 常规 - 下载时间选为「高级计划」。
- 点击「设置计划管理」,选择顶部的色块后,在下方的时间表上拖拽,即可限定时间。
- 在默认速度和关闭传输之间,还可以选择备选速度,配合原有的限速功能,可以提供 3 级下载速度调整。
设置下载限额
自动解压缩
Download Station 能将下载到的压缩包文件自动解压到某个文件夹。这项功能在百度网盘中是一项付费功能,在 Download Station 中就能实现。
- 进入 Download Station 设置界面 - 自动解压缩 - 勾选「启用服务」「启用自动解压缩」「创建子文件夹」这几个选项。
- 可以选择解压到特定位置。
- 如果经常下载带密码的压缩包,还可以预先输入密码列表。
自动解压缩
添加 BT 下载源
Download Station 中支持添加 BT 下载源,你可以用它来快速搜索 BT、PT 的种子文件。也支持 RSS Feeds 源,可以通过 RSS 来自动订阅更新的视频内容,RSS 支持简单的搜索过滤。不过用的最多的还是 BT 下载源功能。
添加 BT 源的方法是添加 DLM 文件,DLM 文件是 Download Station 专用的格式,Github 上有一些库提供了 DLM 文件的下载。也有类似 Synoboost 这样的网站收集了不少 DLM 文件可供一次性下载。更多的 DLM 文件你可以用「Download Station DLM」为关键词进行搜索。
- 进入 Download Station 设置界面 - BT 搜索 - 「新增」-「浏览」,选择下载到电脑的 *.DLM 文件。
- 退出设置,在主界面的左上方搜索框中直接搜索你想要的资源关键词,由于 DLM 文件以英文居多,用英文名称搜索能获得更多的结果。根据网络情况和下载源数量,搜索的过程可能会消耗一段时间。
通过这一方式,可以让你「足不出户」找到一些英文资源。搜索结果还附上了种子数量和 Peer 数,帮助你找到下载速度最快的资源。
- PT 与 BT 的区别 PT(Private Tracker)是 BT(Bit Torrent)的一种。BT 的资源公开,人人都可以下载,因此部分不遵守规则的「只下载不上传」用户会打破 BT 的分享精神,让上传者始终处于弱势地位。因此像迅雷这种漠视 BT 分享精神的下载工具经常为人诟病。 而 PT 在 BT 的基础上做了改进,简单的讲就是一个运行良好循环的私人化小圈子,人人为我、我为人人。每个人既上传又下载,并达到指定的分享率,从而保证资源能够稳定快速地下载。在一些严格的 PT 社区,分享率太低还会被踢出 PT 圈子。因此每个人都会尽可能多的共享自己的闲置上传带宽,让整个 PT 环境变得更理想。
加快 Download Station 下载速度的小技巧
BT 本身是一种文件分发协议,但是表现经常不稳定,有些资源嗖嗖就下完了,有些资源则经常出现 0% 和 0KB/s。那么如何在 Download Station 中改善这情况呢?
在 BT 种子的下载过程中需要经过多个过程,从原始资源服务器上下载的速度通常不会太快。下载资源能否高速下载,很大程度上依赖 Tracker 服务器和正在分享同一文件的「超级节点」。
这里就要提到 Tracker 的概念,Tracker 可以理解为储存节点信息的中间服务器,在一个 BT 任务开始时,BT 客户端需要不断地和 Tracker 服务器通信,报告自己的信息、获取其他下载者的信息,从而在多个设备之间建立 BT 连接。
一旦没有 Tracker 或者 Tracker 很少,也就无法得知还有多少人正在与你一起下载这份文件,互惠互利也就无从谈起了,只能慢慢从原始服务器上下载。一旦原始服务器也删除了该文件,那 0% 和 0KB/s 就出现了。
超级节点的概念更容易理解,一些愿意提供高上传速度的节点,能够有效加快自己这里的下载速度。热门资源的下载速度总是非常快,也正是因为有这些官方或非官方的超级节点存在。
Tracker 原理
了解了这些,如果遇到「下不动」的资源,增加 Tracker 服务器的数量是一个简单有效的方案,能让你在更大范围内寻找下载节点。
你可以在 GitHub 找到一份 Tracker 清单,复制其中的优质 Tracker 清单:trackers_best_ip。
进入 Download Station,点击一个正在下载的任务 - Tracker 服务器 - 加入,将 Tracker 服务器 IP 都复制进去。这样一来,该任务的速度应该会有所增加(除非资源过于冷门,确实没有节点)。
添加 Tracker
可惜的是,Download Station 并不能永久设置 Tracker 节点,偶尔提升一下无速度的资源可以,每次都要设置还是过于麻烦。我们可以选择功能更强的第三方下载方案,下面会讲到。
专用方案:如何同步其他云盘 Cloud Sync
在讲解第三方下载方案之前,我还想介绍一下群晖自带的另一项插件 Cloud Sync,这款插件的定位是将其他云盘中的文件同步到 NAS,并且 Cloud Sync 不仅支持常见的国外网盘的同步,也支持百度网盘的同步。在以百度网盘分享为主的国内环境下,百度网盘同步功能无疑是最实用的同步功能之一。尽管从 2020 年年初开始,百度网盘已经限制了诸多功能,但由于用户基数巨大,仍然有很多人需要这样的功能。
支持百度云同步的 Cloud Sync
百度网盘同步
群晖目前最多能够与百度网盘同步 100 GB 的文件,超额则不再同步文件。
根据群晖官网的介绍文档,自 2020 年 1 月 2 日起,百度网盘已对通过 Cloud Sync 同步到 Synology 专有空间文件夹的数据实施 100 GB 的存储限制。再配合百度网盘于 2018 年年底发布的《空间调整通知》,可以看出百度网盘有计划将大多数「低频使用用户」的网盘容量限制在 100 GB 以内。
官方通知不支持 100GB 以上
因此,如果你对使用百度网盘有很高的需求,我建议专门开一个全新的百度网盘账号专门用作与 NAS 同步。这样可以将百度网盘作为中转盘,在任意设备上点击「保存到网盘」按钮,就等于将文件同步存储到 NAS 上。每当你将网上分享的文件转存到这个账号中时,文件就会被自动下载到 NAS 中。
百度网盘的同步设置并不复杂——
- 手动在 File Station 中新建一个共享文件夹,取名任意(比如 BaiduCloud)。
- 目前只能与百度网盘中的「我的应用数据 - Cloud Sync」文件夹同步,如果是第一次同步,可能会显示百度网盘的内容为空,是正常现象。
- 在 Cloud Sync 中设置,同步本地文件夹与 BaiduCloud 文件夹,选择是双向同步还是上传下载,接下来一路确认,就可以完成配置了。
设置 Cloud Sync 与百度网盘同步
百度网盘中的文件就会源源不断下载到 NAS 中(尽管有 100 GB 的限制)。如果你设为单向下载,那么当同步完成后,你就可以删除百度网盘中的内容,从而节省出空间。
Cloud Sync
国内厂商中除了百度网盘,群晖还对京东云对象存储、腾讯云 COS、阿里云对象存储等国内大厂的存储服务进行了集成。不过这些大多以服务器、商业应用为主,使用率远不如百度网盘高。
2020 年 7 月份中国云盘存储 App 月活跃用户分布 / 来自艾媒咨询
如果可能,我希望各位能完全摆脱国内网盘的限制,以 NAS 作为最主要的存储和传输服务,这样才有机会达到最佳的体验。
WebDAV、Dropbox、OneDrive 等同步
除了百度网盘,Cloud Sync 还支持 WebDAV、Dropbox、OneDrive 等标准协议和国外网盘。基本都是服务器地址、账户、密码等信息输完,就能够正确连上并将网盘文件和 NAS 同步。
采用 WebDAV 方式同步时,也要注意该网络服务是否对同步的文件总大小、单次文件同步数量等有所限制。
至于 Dropbox、OneDrive 等方式,只要网络环境没问题就可以正常传输,解决 NAS 网络问题的最佳方法依然是设置路由器代理。
进阶方案:更多下载优化方案
如果你对 Download Station 还不满意,还可以选择第三方的下载方案,比如 Aria2、Transmission、NZBGet、qBittorrent 等,选择有很多。
本文讲到的 Aria2 和 Transmission 都是功能类似 Download Station 的下载工具,支持不同的下载协议。比如 Aria2 支持 HTTP、FTP、BT、磁力链接等下载协议,Transmission 则是针对 BT 协议的客户端。这样的第三方工具能够解决 Download Station 中存在的部分问题,比如轻量化降低硬件压力、对 Tracker 节点的设置问题、对数据加密传输的需求等等。
这类方案由于能够在 Linux 下运行,也有人将它们安装在自己的路由器、非群晖 NAS、较低配置的 NAS 上,从而提高下载速度。
Aria2 的安装与优化
Aria2 本身是一个命令行下载工具,最大的优势在于Aria2 资源占用更低,具备开源、免费的特点,支持多线程下载。如果用不惯命令行,每个平台都有基于 Aria2 开发的 GUI 界面,能在多个平台上运行。甚至还有基于 Aria2 二次开发的客户端可以使用。
但在不少反馈中也发现,Aria2 在处理冷门资源时的实际传输速度不佳。迅雷在处理相同资源时往往能够有一些速度。这是因为迅雷破坏了 BT 协议的生态环境,借助其他迅雷用户的主机作为下载节点,而 Aria2 无法获得这些节点,导致速度长期维持在 0KB/s。如果遇到这种情况,同样可以通过增加 Tracker 服务器,来提升节点的数量,从而加快下载速度。
Aria2 的安装要借助 Docker 的力量,我们这里有机会讲到群晖 Docker 的具体配置案例了。
我们打开 Docker,在「注册表」中搜索 Aria2,选择一个带有网页 GUI 的版本。比如这里采用的是 「xujinkai/aria2-with-webui」这个版本。如果你选用了其他版本,就需要参考其他版本的文档进行设置,并不通用。
在 Docker 中下载 Aria2
下载完成后,填写镜像信息,对卷名做如下设置(文件/文件夹位置可以任选,装载路径不能随意修改):
文件/文件夹 | 装载路径 |
---|---|
file/Downloads | /data |
docker/config | /conf |
Aria2 配置文件夹
端口做如下设置:
本地端口 | 容器端口 |
---|---|
6800 | 6800 |
1880 | 80 |
1888 | 8080 |
Aria2 配置端口
环境做如下设置(PATH 不变):
可变 | 值 |
---|---|
rpc-secret | Sspai |
其中 Sspai 可以换成任意一个值,即稍后需要填写的密码。
完成后,Docker - 容器处会出现这个服务正在运行。进入 IP:1880 端口,例如「192.168.1.198:1880」,打开就能进入 Aria2 的网页端了。
在「设置 - 连接设置」的密码令牌处填写「密码」Sspai,就能完成 RPC 认证了。
Aria2 主界面
是不是还挺简单的?
现在可以尝试下载文件了,在「添加 - 链接」中新建一个下载任务,dir 填写 /data
,实际下载会进入 NAS 的 file/Downloads
目录下(如果无法写入,记得回到 DSM 里给 Docker 相应文件夹的权限)。
Aria2 下载文件
如果下载没有速度,你可以选择通过「设置 - 全局设置」的方法填写 proxy 代理链接,以代理的形式提高下载速度。
也可以用增加 BT-Tracker 的形式提高速度,需要在 NAS 的 docker/config
目录下找到 aria2.conf 文件,对它进行编辑。在配置文件的最后增加一个 bt-tracker=
的参数,并将 trackers_best_ip 这个清单中的链接以英文逗号分隔的形式(一行)放进去。最后保存文件。
为 Aria2 添加 Tracker
Aria2.conf 文件中的其他参数也可以改动,比如最大连接数、DHT、伪装等功能,可以将最大连接数 bt-max-peers=55
略微调高,或许能提高一些速度。如果对参数不熟悉最好不要乱改。
设置完成后,建议先用一个资源较多的热门资源下载,Aria2 会自动将可用的节点其写入 DHT 缓存中,这样在将来下载冷门资源时,能够更快的获取到可用的节点。
Transmission 的安装与优化
Transmission 主要针对 BT 和磁力链接。如果你感觉 Download Station 没有速度,又因为机型原因无法使用 Docker 安装 Aria2,可以去试一试 Transmission,Transmission 在 x86 和 ARM 架构的 NAS 上都能安装,且不需要借助 Docker。
在 NAS 的套件中心中,添加第三方源 SynoCommunity ,下载和安装 Transmission,你还能在这个源中下载到 NZBGet。
Transmission 的安装过程中需要配置下载地址(Download Directory),可以设置为 /volume1/downloads
,意思是第一个分区中的 downloads
目录。后面两个可以为空。
安装 Transmission
第二步要设置 Username 和 Password,默认值是 admin 和 admin,设置后安装即可。
设置 Transmission 用户名密码
Transmission 的默认端口是 9091,通过 192.168.1.188:9091
或者 域名:9091
可以进入 Transmission 的界面。
Transmission 的界面并不现代,甚至可以说是简陋,但它具备了核心的功能,界面可以通过其他方法二次优化。
Transmission 简陋的主界面
Transmission 还有一款插件 Transmission-web-control,这是一套第三方 WebUI,它能让我们在手机端通过访问 NAS 外网链接的方式访问 Transmission。有关这款插件,你可以参考《Transmission Web Control 的中文说明》了解它的能力范围;参考《如何在群晖中安装 Transmission Web Control》了解如何在群晖 NAS 上安装。
这里简单讲一下汉化和安装的方法:
进入 NAS 的「控制面板 - 终端机与 SNMP」,启用 SSH 功能。
在局域网的电脑中打开控制台(CMD),用这行代码进入 NAS:
ssh -p 22 admin@192.168.1.188
。输入
sudo -i
切换到 Root 账户。输入以下代码,下载 Transmission Web Control 的安装脚本(如果下载缓慢或失败,可能是网络原因):
wget https://github.com/ronggang/transmission-web-control/raw/master/release/install-tr-control.sh
输入
sudo bash install-tr-control-cn.sh
进入安装流程。输入
1
来选择Install the latest release
安装最新版本。安装完毕后,需要在「控制面板 - 共享文件夹」中找到下载目录所在的共享文件夹,修改它的权限为「svc-transmission 可读写」。
此时再次进入 Transmission,会发现全新 GUI 已经安装完毕了,界面变得更友好,更符合使用习惯。语言也变成了中文。
用手机端访问 域名:9091
,就可以在手机端远程控制 Transmission 进行下载任务了。
Transmission web control / 来自 Github
PS:Transmission 和 Download Station 的功能重复程度较高,因为 Download Station 采用的就是 Transmission 的内核,Transmission 也有版本较新的 Docker 版本可以下载使用。
总的来说,我习惯性将 Transmission 作为下载工具的补充来使用,具体下载速度还是看种子的热度和来源数量,工具带来的提升始终是有限的。Download Station、Aria2 和 Transmission 各有各的优势,在你能够接受的范围内选择最适合你的工具就可以了。
总结
这一期主要讲解了如何利用 NAS 的 Download Station 和一些 BT 下载的小技巧,来解决网页下载、迅雷、BT、磁力链接等离线下载难题。
你还可以自行安装 Aria2 和 Transmission 等下载套件,来达到更好的下载体验。与第三方网盘的同步,也能部分解决百度网盘等网盘文件的下载难题。